* gdk/x11/gdkimage-x11.c : rationalized multihead code
in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems.
+2002-04-30 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
+ gtk_text_layout_invalidate_cache instead of cut-and-paste
+ (gtk_text_layout_real_invalidate): always invalidate cache, even
+ if the line has no stored line data. #78573
+
+ * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
+ gtk_text_view_ensure_layout, #77388
+ (gtk_text_view_get_iter_at_location): ditto
+ (gtk_text_view_get_line_yrange): ditto
+ (gtk_text_view_get_line_at_y): ditto
+
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
* gdk/x11/gdkimage-x11.c : rationalized multihead code
in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems.
+2002-04-30 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
+ gtk_text_layout_invalidate_cache instead of cut-and-paste
+ (gtk_text_layout_real_invalidate): always invalidate cache, even
+ if the line has no stored line data. #78573
+
+ * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
+ gtk_text_view_ensure_layout, #77388
+ (gtk_text_view_get_iter_at_location): ditto
+ (gtk_text_view_get_line_yrange): ditto
+ (gtk_text_view_get_line_at_y): ditto
+
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
* gdk/x11/gdkimage-x11.c : rationalized multihead code
in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems.
+2002-04-30 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
+ gtk_text_layout_invalidate_cache instead of cut-and-paste
+ (gtk_text_layout_real_invalidate): always invalidate cache, even
+ if the line has no stored line data. #78573
+
+ * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
+ gtk_text_view_ensure_layout, #77388
+ (gtk_text_view_get_iter_at_location): ditto
+ (gtk_text_view_get_line_yrange): ditto
+ (gtk_text_view_get_line_at_y): ditto
+
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
* gdk/x11/gdkimage-x11.c : rationalized multihead code
in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems.
+2002-04-30 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
+ gtk_text_layout_invalidate_cache instead of cut-and-paste
+ (gtk_text_layout_real_invalidate): always invalidate cache, even
+ if the line has no stored line data. #78573
+
+ * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
+ gtk_text_view_ensure_layout, #77388
+ (gtk_text_view_get_iter_at_location): ditto
+ (gtk_text_view_get_line_yrange): ditto
+ (gtk_text_view_get_line_at_y): ditto
+
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
* gdk/x11/gdkimage-x11.c : rationalized multihead code
in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems.
+2002-04-30 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
+ gtk_text_layout_invalidate_cache instead of cut-and-paste
+ (gtk_text_layout_real_invalidate): always invalidate cache, even
+ if the line has no stored line data. #78573
+
+ * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
+ gtk_text_view_ensure_layout, #77388
+ (gtk_text_view_get_iter_at_location): ditto
+ (gtk_text_view_get_line_yrange): ditto
+ (gtk_text_view_get_line_at_y): ditto
+
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
* gdk/x11/gdkimage-x11.c : rationalized multihead code
in _gdk_x11_copy_to_image. fixes #80256 and ungrab problems.
+2002-04-30 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
+ gtk_text_layout_invalidate_cache instead of cut-and-paste
+ (gtk_text_layout_real_invalidate): always invalidate cache, even
+ if the line has no stored line data. #78573
+
+ * gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
+ gtk_text_view_ensure_layout, #77388
+ (gtk_text_view_get_iter_at_location): ditto
+ (gtk_text_view_get_line_yrange): ditto
+ (gtk_text_view_get_line_at_y): ditto
+
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
{
GtkTextLineData *line_data = _gtk_text_line_get_data (line, layout);
+ gtk_text_layout_invalidate_cache (layout, line);
+
if (line_data)
- {
- gtk_text_layout_invalidate_cache (layout, line);
- _gtk_text_line_invalidate_wrap (line, line_data);
- }
+ _gtk_text_line_invalidate_wrap (line, line_data);
if (line == last_line)
break;
GtkTextLine *line,
GtkTextLineData *line_data)
{
- if (layout->one_display_cache && line == layout->one_display_cache->line)
- {
- GtkTextLineDisplay *tmp_display = layout->one_display_cache;
- layout->one_display_cache = NULL;
- gtk_text_layout_free_line_display (layout, tmp_display);
- }
+ gtk_text_layout_invalidate_cache (layout, line);
g_free (line_data);
}
{
g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
g_return_if_fail (iter != NULL);
- g_return_if_fail (text_view->layout != NULL);
+ gtk_text_view_ensure_layout (text_view);
+
gtk_text_layout_get_iter_at_pixel (text_view->layout,
iter,
x,
g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
g_return_if_fail (gtk_text_iter_get_buffer (iter) == get_buffer (text_view));
+ gtk_text_view_ensure_layout (text_view);
+
gtk_text_layout_get_iter_location (text_view->layout, iter, location);
}
g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
g_return_if_fail (gtk_text_iter_get_buffer (iter) == get_buffer (text_view));
+ gtk_text_view_ensure_layout (text_view);
+
gtk_text_layout_get_line_yrange (text_view->layout,
iter,
y,
{
g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
+ gtk_text_view_ensure_layout (text_view);
+
gtk_text_layout_get_line_at_y (text_view->layout,
target_iter,
y,